ヘッダーをスキップ
Oracle TimesTen In-Memory Databaseインストレーション・ガイド
リリース7.0
E05165-01
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

オフライン・アップグレードの実行

ttMigrateまたはttBackupユーティリティを使用して、データ・ストアを外部ファイルにエクスポートし、変更したデータ・ストアをリストアすることで、オフライン・アップグレードを実行できます。このような更新手順を実行するには、すべてのアプリケーションをデータ・ストアから切断し、共有メモリーからデータ・ストアをアンロードする必要があります。継続的な接続を必要とするアプリケーションについては、「レプリケーションを使用したオンライン・アップグレードの実行」を参照してください。


注意: アップグレードされるデータ・ストアをレプリケートする場合は、ttMigrateを使用して、データ・ストアをバージョン間で移動する必要があります。また、ttMigrate -r -renameオプションを使用して、表の所有者の名前を変更する場合は、レプリケーション・スキームに関連している他のすべてのデータ・ストアの表の所有者の名前も変更する必要があります。

TimesTenデータ・ストアのエクスポートには、ttMigrateまたはttBackupユーティリティを使用できます。ttMigrateユーティリティは、リリースに依存しないより柔軟な形式でデータ・ストアをエクスポートします。ttBackupユーティリティは、データ・ストアのイメージ・コピーをエクスポートするため、より高速です。データ・ストアを異なるマシンまたはディレクトリに移動する場合は、ttBackupユーティリティを使用します。次の処理を行うには、ttMigrateユーティリティを使用する必要があります。

オフライン・アップグレードの一般的な手順は、次のとおりです。

他のディレクトリへの移動

TimesTenデーモンは、データ・ストアのチェックポイント・ファイルのフルパス名を使用してデータ・ストアを識別します。TimesTenデータ・ストアを別のディレクトリに移動するには、ttBackupユーティリティを使用してデータ・ストアをバックアップし、新しいデータ・ストアのパス名を示す新しいDSN定義を作成します。その後で、ttRestoreを使用して、データ・ストアを新しい場所にリストアします。新しい場所でデータ・ストアが適切に機能することを確認してから、ttDestroyを使用してディスク領域を解放し、以前のデータ・ストアを削除します。

たとえば、一時記憶域として/tmp/dumpディレクトリを使用し、/old/SalesData/salesのデータ・ストアSalesData"DSN=SalesData")を、NewSalesData"DSN=NewSalesData")という名前で/new/SalesData/salesに移動するには、次のコマンドを使用します。

  1. mkdir /tmp/dump
  2. ttBackup -dir /tmp/dump -fname salesdata "DSN=SalesData"
  3. NewSalesDataデータ・ストアのDSN定義を作成して、新しいデータ・ストアのパス/new/SalesData/sales/NewSalesDataを指定します。
  4. ttRestore -dir /tmp/dump -fname salesdata "DSN=NewSalesData"
  5. NewSalesDataが正常に動作することを確認します。)

  6. rm -r /tmp/dump
  7. ttDestroy /old/SalesData/sales/SalesData
  8. SalesDataデータ・ストアのDSN定義を削除します。

  9. 注意: データ・ストアをレプリケートするように構成した場合、レプリケーションを再構成する必要があります。

他のマシンへの移動

ttBackupおよびttRestoreユーティリティを使用して、同じCPUアーキテクチャを持ち、同じオペレーティング・システムを実行している2つのマシン間でデータ・ストアを移動することができます。


注意: レプリケートしたデータ・ストアを他のマシンに移動する前に、TimesTenレプリケーションを実行しておく必要があります。この手順については、オラクル社カスタマ・サポート・センターにお問い合せください。

CPUアーキテクチャとオペレーティング・システムが同じシステム間でデータ・ストアをコピーするには、次の手順を実行します。

  1. ttBackupを使用して、元のシステムのデータ・ストアをバックアップします。
  2. バックアップを新しいシステムに移動します。
  3. レプリケートしたすべてのデータ・ストアのレプリケーション・スキームを再構成し、新しいホスト・マシンを識別するようにします。(レプリケーション・スキームでのホストの指定方法の詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』を参照してください。)
  4. ttRestoreを使用して、バックアップをリストアします。

たとえば、ソース・システムの/ds/Sales/Dataのデータ・ストアsalesdataを、宛先システムの/data/Sales/Viewのデータ・ストアsalesviewに移動するには、次のコマンドを使用します。この例では、ttBackup-oフラグを使用して、バックアップに標準出力を適用します。-oフラグを使用すると、バックアップは単一のファイルに格納され、ネットワークを介して他のシステムに簡単にコピーすることができます。他のシステムにデータ・ストアをコピーした後で、新しいデータ・ストアのコピーに簡単にアクセスできるように、データ・ソース名を作成する必要があります。

 
ソース・システム上
宛先システム上
1.
ttBackup -o "DSN=SalesData" >
    /tmp/salesbackup
 
2.
ftp /tmp/salesbackup to the
destination system as
/tmp/salesbackup
注意: ftpコマンドはバイナリ・モードで使用します。
 
3.
 
ttRestore -i
   "DSN=SalesView" <
    /tmp/salesbackup
4.
 
rm /tmp/salesbackup
5.
rm /tmp/salesbackup
 

データ・ストアのサイズの縮小

データ・ストアに特定のサイズの永続パーティション(PermSize DSN属性で示される)を定義した場合は、表または行を削除しても、それより小さいサイズでロードすることはできません。ttBackupで作成したデータ・ストアのコピーにも、データ・ストアの永続パーティションのサイズが適用されます。

割り当てられたデータ・ストアの永続パーティションのサイズを小さくするには、-noRepUpgradeオプションを指定したttMigrateユーティリティを使用してコピーを保存し、より小さい永続パーティションのサイズを指定してデータ・ストアを再作成してから、データをリストアします。


注意: データ・ストアの永続パーティションのサイズは、現在、データ・ストアに格納されているデータで実際に必要なサイズより小さくすることはできません。この値は、表sys.monitorperm_in_use_size列を問い合せることによって判断できます。

データ・ストアの永続パーティションのサイズを小さくするには、次の手順を実行します。

  1. ttMigrate -c -noRepUpgradeを使用して、以前のデータ・ストアをバックアップします。
  2. より小さいPermSize値を指定するデータ・ストアの新しいコピー用に、新しいDSN定義を作成します。
  3. ttMigrate -r -noRepUpgradeを使用して、バックアップをリストアします。

  4. 注意: 手順2で新しいDSNを作成するのではなく、元のDSNを使用する場合は、まずttDestroyユーティリティを使用して、元のデータ・ストア・ファイルを破棄する必要があります。

次に示す手順では、データ・ストアのサイズを400MBから100MBに縮小します。データ・ストアは/ds/Sales/Dataに格納されており、データ・ソース名(DSN)はsalesdataです。

  1. ttMigrate -c DSN=salesdata -noRepUpgrade /tmp/salesbackup
  2. ttDestroy /ds/Sales/Data
  3. DSN salesdataを更新して、サイズを100MBにします。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータ・ストアのサイズ変更に関する項を参照してください。
  4. ttMigrate -r "DSN=salesdata;AutoCreate=1" -noRepUpgrade
        /tmp/salesbackup

  5. 注意: DSNのTempSize属性を変更し、データ・ストアをメモリーからアンロードしてから再接続することで、データ・ストアの一時パーティションのサイズを変更することが可能です。データ・ストアをメモリーからアンロードする手順については、「データ・ストアのアンロード」を参照してください。

32-bitおよび64-bitのデータ・ストア間での移動

32-bitのTimesTenデータ・ストアの内部形式は、64-bitの形式とは異なります。32-bitのデータ・ストアを64-bitのデータ・ストアに変換するには、次の手順を実行します。

  1. TimesTenの32-bitのttMigrateユーティリティに-noRepUpgradeオプションを指定して使用し、32-bitのデータ・ストアをエクスポートします。
  2. 64-bitのデータ・ストアのデータ・ソース名(DSN)を作成します。詳細は、TimesTenの開発者ガイドのデータ・ストアの作成、接続および切断に関する項を参照してください。
  3. 64-bitのttMigrateユーティリティに-noRepUpgradeオプションを指定して使用し、手順1で作成したファイルを64-bitデータ・ストアのDSNにインポートします。
  4. たとえば、32-bitデータ・ストアのDSNがsalesdata32で、64-bitデータ・ストアのDSNがsalesdata64であると想定します。TimesTenの32-bitインスタンスが/opt/TimesTen/giraffe32に、64-bitインスタンスが/opt/TimesTen/giraffe64にインストールされているとすると、必要な手順は次のとおりです。

  5. /opt/TimesTen/giraffe32/bin/ttMigrate
        -c DSN=salesdata32
    -noRepUpgrade /tmp/salesbackup
  6. /opt/TimesTen/giraffe64/bin/ttMigrate -r
        "DSN=salesdata64;AutoCreate=1"
    -noRepUpgrade
            /tmp/salesbackup

  7. 注意: TimesTenは、32-bitおよび64-bitのデータ・ストア間でのレプリケーションをサポートしません。

TimesTenの他のメジャー・リリースへの移行

TimesTenの複数のメジャー・リリースを、システムに同時にインストールすることができます。ただし、あるメジャー・リリースで作成したTimesTenのデータ・ストアには、異なるメジャー・リリースのアプリケーションから直接アクセスすることはできません。たとえば、TimesTenのメジャー・リリース間でのデータの移行を、TimesTen 5.1から7.0で行う場合、ttMigrateユーティリティを使用して以前のリリースのデータをエクスポートし、さらにttMigrateユーティリティを使用して新しいリリースからインポートする必要があります。このアップグレードの手順は、「32-bitおよび64-bitのデータ・ストア間での移動」の手順に似ています。

互いにレプリケートする2つ以上のデータ・ストアをアップグレードする必要がある場合は、レプリケーションがアップグレート中およびアップグレード後も確実に動作し続けるように、いくつかの追加の手順を実行する必要があります。たとえば、レプリケートする2つのデータ・ストア(ホスト・マシンmasterhostmaster1とホスト・マシン subscriberhostsubscriber1)をTimesTenリリース5.1からTimesTenリリース7.0に移行する場合、次の手順を実行します。

  1. レプリケーションに静的なTCP/IPポートを使用するように、両方のデータ・ストアでレプリケーション・スキームを構成します。これが必要なのは、次の手順の途中で、異なる2つのTimesTenのバージョン間でレプリケーションが発生することと、レプリケーション・ポートが動的に割り当てられるために各バージョンが相手のメイン・デーモンを検出できないためです。詳細は、『Oracle TimesTen Replication - TimesTen to TimesTen開発者および管理者ガイド』の動的なポートの割当てと静的なポートの割当てに関する項を参照してください。
  2. マシンmasterhostで、5.1リリースのttAdminユーティリティを使用して、データ・ストアのレプリケーション・デーモンを停止します。
  3. ttAdmin -repStop master1

  4. 次に、リリース5.1のttMigrateユーティリティに-cオプションを指定して使用し、データ・ストアmaster1をバイナリ・ファイルにバックアップします。
  5. ttMigrate -c DSN=master1 master1.bak

  6. リリース5.1のttDestroyユーティリティを使用して、データ・ストアmaster1を破棄します。データ・ストアのファイルは、data_store_pathディレクトリに格納されています。
  7. ttDestroy /data_store_path/master1

  8. リリース7.0のttMigrateユーティリティに-rオプションを指定して使用し、データ・ストアmaster1をバイナリ・ファイルからリストアします。データ・ストアをリストアすると、自動的にリリース5.1からリリース7.0にアップグレードされます。非常に大きいデータ・ストアをリストアする場合は、ttMigrate-Cオプションを使用して、データ・ストアに対して定期的にチェックポイント操作を実行します。操作が完了する前にいくつかのポイントでリストアが失敗する場合は、これによって時間が節約されます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のチェックポイントに関する項を参照してください。
  9. ttMigrate -r -C 20 DSN=master1 master1.bak

  10. リリース7.0のttAdminユーティリティを使用して、レプリケーション・デーモンを起動します。
  11. ttAdmin -repStart master1

この時点で、リリース7.0のデータ・ストアmaster1とリリース5.1のデータ・ストアsubscriber1の間でレプリケーションが行われます。

ここで、データ・ストアsubscriber1をリリース5.1からリリース7.0にアップグレードします。次の手順を実行します。

  1. マシンsubscriberhostで、リリース5.1のttAdminユーティリティを使用して、レプリケーション・デーモンを停止します。
  2. ttAdmin -repStop subscriber1

  3. リリース5.1のttDestroyユーティリティを使用して、データ・ストアsubscriber1を破棄します。データ・ストアのファイルは、data_store_pathディレクトリに格納されています。
  4. ttDestroy data_store_path/subscriber1

  5. リリース7.0のttRepAdminユーティリティに-duplicateオプションを指定して使用し、レプリケーションによりデータ・ストアsubscriber1をデータ・ストアmaster1から複製します。
  6. ttRepAdmin -duplicate -from master1 -host masterhost
    subscriber1

  7. リリース7.0のttAdminユーティリティを使用して、レプリケーション・デーモンを起動します。
  8. ttAdmin -repStart subscriber1

これで、データ・ストアがアップグレードされ、互いにレプリケートされました。